#include "mainwindow.h"
#include "./ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    resize(800, 600);  // 设置窗口大小

    QPushButton *btn = new QPushButton("输入框", this);
    btn->resize(100, 40);  // 设置按钮尺寸
    btn->move(350, 280);   // 设置按钮位置

    //1：获取浮点型
    connect(btn, &QPushButton::clicked, [=]() {
        // 使用静态方法直接获取浮点数输入
        bool ok;
        double value = QInputDialog::getDouble(
            this,                   // 父窗口
            "浮点数输入",           // 对话框标题
            "请输入浮点数值:",      // 提示文本
            0.0,                   // 默认值
            -1000.0,               // 最小值
            1000.0,                // 最大值
            2,                     // 小数位数
            &ok                    // 获取用户是否确认
            );

        if (ok) {
            qDebug() << "输入的浮点数值:" << value;
        } else {
            qDebug() << "用户取消了输入";
        }
    });

    //2：获取字符串
    connect(btn, &QPushButton::clicked, [=]() {
        bool ok;
        QString text = QInputDialog::getText(
            this,                       // 父窗口
            "文本输入",                 // 对话框标题
            "请输入文本:",              // 提示文本
            QLineEdit::Normal,          // 输入模式（Normal/Password）
            "默认值",                   // 默认文本
            &ok                         // 用户是否确认
            );

        if (ok && !text.isEmpty()) {
            qDebug() << "输入的文本:" << text;
        } else {
            qDebug() << "用户取消或未输入";
        }
    });

    //3：获取int
    connect(btn, &QPushButton::clicked, [=]() {
        bool ok;
        int value = QInputDialog::getInt(
            this,                       // 父窗口
            "整数输入",                 // 对话框标题
            "请输入整数:",              // 提示文本
            0,                          // 默认值
            -100,                       // 最小值
            100,                        // 最大值
            1,                          // 步长（微调按钮增减值）
            &ok                         // 用户是否确认
            );

        if (ok) {
            qDebug() << "输入的整数:" << value;
        } else {
            qDebug() << "用户取消了输入";
        }
    });

    //4：获取item
    connect(btn, &QPushButton::clicked, [=]() {
        QStringList items = {"选项1", "选项2", "选项3"};
        bool ok;
        QString item = QInputDialog::getItem(
            this,                       // 父窗口
            "选择项目",                 // 对话框标题
            "请选择:",                  // 提示文本
            items,                      // 选项列表
            0,                          // 默认选中索引
            false,                      // 是否允许用户编辑列表
            &ok                         // 用户是否确认
            );

        if (ok && !item.isEmpty()) {
            qDebug() << "选择的项目:" << item;
        }
    });

}

MainWindow::~MainWindow()
{
    delete ui;
}
